#pragma once
#include "Thread.h"
#include "Mutex.h"

namespace ThreadLib{
	class ThreadFactory{
	public:
		static boost::shared_ptr<Thread> spawnThread(boost::function<void(void)> function);
		static MutexPtr spawnMutex();
	private:
		static void releaseThread(boost::shared_ptr<Thread> thread);

		friend class BoostThread;
	};
}